package studio.raptor.dispatcher.server.context;

import java.util.List;
import java.util.Set;
import studio.raptor.databus.command.Event;
import studio.raptor.dispatcher.server.dto.SendResponse;

/**
 * @author jack
 * @since 1.0
 */
public class HandlerContext {

  private Event event;

  private String body;

  private String state;

  private Integer kindId;

  private Integer eventType;

  private boolean sort;

  private List<SendResponse> responses;

  private String code;

  private String name;

  private Long traceId;

  private Set<String> eventIds;

  public HandlerContext() {

  }

  public HandlerContext(String code, String name, Integer kindId, Integer eventType) {
    this.code = code;
    this.kindId = kindId;
    this.name = name;
    this.eventType = eventType;
  }

  public String getBody() {
    return body;
  }

  public void setBody(String body) {
    this.body = body;
  }

  public String getState() {
    return state;
  }

  public void setState(String state) {
    this.state = state;
  }


  public List<SendResponse> getResponses() {
    return responses;
  }

  public void setResponses(List<SendResponse> responses) {
    this.responses = responses;
  }

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public Integer getKindId() {
    return kindId;
  }

  public void setKindId(Integer kindId) {
    this.kindId = kindId;
  }

  public Integer getEventType() {
    return eventType;
  }

  public void setEventType(Integer eventType) {
    this.eventType = eventType;
  }

  public Set<String> getEventIds() {
    return eventIds;
  }

  public void setEventIds(Set<String> eventIds) {
    this.eventIds = eventIds;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Event getEvent() {
    return event;
  }

  public void setEvent(Event event) {
    this.event = event;
  }

  public Long getTraceId() {
    return traceId;
  }

  public void setTraceId(Long traceId) {
    this.traceId = traceId;
  }

  public boolean isSort() {
    return sort;
  }

  public void setSort(boolean sort) {
    this.sort = sort;
  }
}
